// 导入ref和computed函数，用于创建响应式数据
import { ref, computed } from 'vue'
// 导入defineStore函数，用于定义pinia的store
import { defineStore } from 'pinia'

// 定义一个名为counter的store
export const useCounterStore = defineStore('counter', () => {
  // 创建一个名为nickname的响应式数据，初始值为localStorage中的yjz-nickname，如果没有则设置为'未設置'
  const nickname = ref(localStorage.getItem('yjz-nickname')) || ref('未設置')
  // 定义一个函数，用于修改nickname的值
  const changenickname = (item: string) => {
    nickname.value = item
  }
  // 获取localStorage中的yjz-cart，如果没有则设置为空数组
  const localStorageCart = localStorage.getItem('yjz-cart');
  const cart = ref(localStorageCart ? JSON.parse(localStorageCart) : []);
  // 定义一个函数，用于向cart中添加商品
  const addcart = (item: any) => {
    console.log(item,12);
    // 判断cart是否为数组，如果是则向cart中添加商品，否则输出错误信息
    if (Array.isArray(cart.value)) {
      cart.value.push(item);
    } else {
      console.error('cart is not an array', cart);
    }
    // 将修改后的cart保存到localStorage中
    localStorage.setItem('yjz-cart', JSON.stringify(cart.value));
  }
  // 返回nickname、changenickname、cart和addcart
  return { nickname, changenickname, cart, addcart }
})
